Apache Ant একটি শক্তিশালী এবং নমনীয় বিল্ড টুল যা সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়াকে অটোমেট করতে ব্যবহৃত হয়। External Tool Integration Tasks টাস্কগুলি ব্যবহৃত হয় বাইরের টুল বা প্রোগ্রামগুলিকে অ্যান্ট স্ক্রিপ্টের মধ্যে অন্তর্ভুক্ত করে, যা ডেভেলপারদের বিভিন্ন বিল্ড প্রক্রিয়ায় তৃতীয় পক্ষের সরঞ্জাম (যেমন, ডেটাবেস, কম্পাইলার, শেল স্ক্রিপ্ট, অথবা অন্য বাহ্যিক প্রোগ্রাম) ব্যবহার করার সুবিধা দেয়।
এই টাস্কগুলির মাধ্যমে আপনি অ্যান্ট বিল্ড স্ক্রিপ্টের মধ্যে বাইরের টুলসকে এক্সিকিউট করতে পারেন এবং সেই টুলের আউটপুট এবং কার্যাবলী অ্যান্ট স্ক্রিপ্টে অন্তর্ভুক্ত করতে পারেন। এখানে আমরা External Tool Integration Tasks নিয়ে আলোচনা করব, যা আপনাকে বাইরের টুল বা সিস্টেমের সাথে ইন্টিগ্রেশন করতে সহায়তা করবে।
exec
টাস্কটি বাইরের কমান্ড বা প্রোগ্রাম এক্সিকিউট করতে ব্যবহৃত হয়। এটি সাধারণত শেল স্ক্রিপ্ট, কমান্ড লাইন প্রোগ্রাম বা অন্য বাইরের প্রোগ্রাম চালাতে ব্যবহৃত হয়।
<exec executable="echo">
<arg value="Hello, Apache Ant!"/>
</exec>
এটি echo
কমান্ড এক্সিকিউট করবে এবং "Hello, Apache Ant!" বার্তা প্রিন্ট করবে।
executable
: বাইরের প্রোগ্রাম বা কমান্ড যা এক্সিকিউট হবে।arg
: বাইরের প্রোগ্রাম বা কমান্ডের আর্গুমেন্ট যা প্রদান করা হবে।antcall
টাস্কটি একটি টার্গেট বা টাস্ক কল করতে ব্যবহৃত হয়। এটি ব্যবহৃত হয় যখন আপনি একাধিক টাস্ক বা টার্গেটকে একটি নির্দিষ্ট কাজের জন্য পুনরায় এক্সিকিউট করতে চান।
<antcall target="compile"/>
<target name="compile">
<echo message="Compiling the source code..."/>
</target>
এটি compile
টার্গেটটি কল করবে এবং তার কার্যাবলী এক্সিকিউট করবে, যেমন "Compiling the source code..." বার্তা প্রিন্ট করা।
target
: যে টার্গেট বা টাস্কটি কল করা হবে।java
টাস্কটি একটি Java ক্লাস এক্সিকিউট করার জন্য ব্যবহৃত হয়। এটি আপনাকে একটি নির্দিষ্ট জাভা ক্লাস রান করতে দেয় এবং সেই ক্লাসের মধ্যে থাকা মেথড এক্সিকিউট করে।
<java classname="com.example.Main" fork="true">
<arg value="arg1"/>
<arg value="arg2"/>
</java>
এটি com.example.Main
ক্লাসটিকে রান করবে এবং arg1
ও arg2
আর্গুমেন্ট প্রদান করবে।
classname
: রান করার জন্য Java ক্লাসের পূর্ণ নাম।fork
: বাইরের প্রসেসে রান করার জন্য এটি true
সেট করা হয়।scp
টাস্কটি SCP (Secure Copy Protocol) ব্যবহার করে ফাইল ট্রান্সফার করতে ব্যবহৃত হয়। এটি নিরাপদভাবে একটি ফাইল বা ডিরেক্টরি এক সিস্টেম থেকে অন্য সিস্টেমে কপি করতে সাহায্য করে।
<scp file="build/myapp.jar" todir="user@remote:/home/user/app" password="password"/>
এটি build/myapp.jar
ফাইলটিকে user@remote:/home/user/app
এর কাছে কপি করবে।
file
: যে ফাইলটি কপি করতে হবে।todir
: গন্তব্য যেখানে ফাইলটি কপি হবে।password
: ফাইলের ট্রান্সফারের জন্য প্রয়োজনীয় পাসওয়ার্ড।sshexec
টাস্কটি SSH (Secure Shell) প্রটোকল ব্যবহার করে একটি রিমোট সিস্টেমে কমান্ড এক্সিকিউট করতে ব্যবহৃত হয়।
<sshexec host="remote.server.com" userid="user" password="password" command="ls -l"/>
এটি remote.server.com
সিস্টেমে SSH এর মাধ্যমে ls -l
কমান্ড এক্সিকিউট করবে।
host
: রিমোট হোস্টের ঠিকানা।userid
: রিমোট সিস্টেমে ইউজারনেম।password
: রিমোট সিস্টেমে পাসওয়ার্ড।command
: এক্সিকিউট করার জন্য কমান্ড।telnet
টাস্কটি Telnet প্রোটোকল ব্যবহার করে একটি রিমোট সিস্টেমে কমান্ড এক্সিকিউট করতে ব্যবহৃত হয়।
<telnet host="remote.server.com" userid="user" password="password" command="uptime"/>
এটি remote.server.com
সিস্টেমে Telnet এর মাধ্যমে uptime
কমান্ড এক্সিকিউট করবে।
host
: রিমোট হোস্টের ঠিকানা।userid
: ইউজারনেম।password
: পাসওয়ার্ড।command
: এক্সিকিউট করার জন্য কমান্ড।wget
টাস্কটি WGET টুল ব্যবহার করে একটি ফাইল বা URL থেকে ডেটা ডাউনলোড করতে ব্যবহৃত হয়। এটি ওয়েব থেকে ফাইল ডাউনলোডের জন্য ব্যবহৃত হয়।
<wget src="http://example.com/file.zip" dest="build/file.zip"/>
এটি http://example.com/file.zip
থেকে ফাইলটি ডাউনলোড করবে এবং build/file.zip
এ সংরক্ষণ করবে।
src
: ডাউনলোড করার URL।dest
: ফাইলটি যেখানে সেভ হবে।curl
টাস্কটি CURL কমান্ড ব্যবহার করে URL থেকে ডেটা ট্রান্সফার করতে ব্যবহৃত হয়।
<curl src="http://example.com" dest="build/output.html"/>
এটি http://example.com
ওয়েবসাইটের ডেটা ডাউনলোড করবে এবং build/output.html
এ সেভ করবে।
src
: URL থেকে ডেটা ট্রান্সফারের জন্য পাথ।dest
: ডাউনলোড বা ট্রান্সফার করা ডেটা যেখানে সংরক্ষিত হবে।Apache Ant External Tool Integration Tasks আপনাকে বাইরের টুল, প্রোগ্রাম বা প্রোটোকল এর সাথে ইন্টিগ্রেশন করতে সহায়তা করে। exec
, antcall
, java
, scp
, sshexec
, telnet
, wget
, এবং curl
এর মতো টাস্কগুলির মাধ্যমে আপনি আপনার বিল্ড স্ক্রিপ্টে বাইরের টুলসের কার্যক্রম অন্তর্ভুক্ত করতে পারেন। এই টাস্কগুলির মাধ্যমে আপনি সফটওয়্যার ডেভেলপমেন্ট, টেস্টিং, ডিপ্লয়মেন্ট এবং রিমোট সিস্টেম পরিচালনা সহজভাবে করতে পারেন, যা বিল্ড প্রক্রিয়া আরও কার্যকর এবং নমনীয় করে তোলে।
Apache Ant-এ Git Task একটি অতি গুরুত্বপূর্ণ টাস্ক যা Git রিপোজিটরি থেকে কোড ফেচ (fetch) বা পুল (pull) করার জন্য ব্যবহৃত হয়। এই টাস্কটি আপনার Ant বিল্ড স্ক্রিপ্টের মধ্যে Git-এর কার্যক্রম ইনক্লুড করে, যাতে আপনি বিল্ডের অংশ হিসেবে কোড রিপোজিটরি থেকে ফাইল বা আপডেট পেতে পারেন।
Git Task সাধারণত <git>
ট্যাগের মাধ্যমে ব্যবহৃত হয় এবং এটি Git রিপোজিটরি থেকে কোড ফেচ বা পুল করার জন্য Git কমান্ডগুলো চালায়।
<git>
<fetch remote="origin" branch="master" />
</git>
এখানে:
origin
বা অন্যান্য রিমোট রিপোজিটরি নাম)।এটি একটি সাধারণ উদাহরণ যেখানে Git থেকে কোড ফেচ করা হচ্ছে।
<project name="GitFetchExample" default="fetchCode" basedir=".">
<target name="fetchCode">
<git>
<fetch remote="origin" branch="main" />
</git>
</target>
</project>
এখানে:
origin
রিমোটের main ব্রাঞ্চ ফেচ করা হবে।Fetching code from origin repository, branch: main
এটি আপনার Ant স্ক্রিপ্টের মধ্যে Git কোড ফেচ করার প্রক্রিয়া পরিচালনা করবে।
আপনি Git Task ব্যবহার করে একটি নতুন রিপোজিটরি ক্লোন (clone) করতে পারেন। এটি Git clone কমান্ড চালানোর মতো কাজ করবে।
<project name="GitCloneExample" default="cloneRepository" basedir=".">
<target name="cloneRepository">
<git>
<clone repository="https://github.com/username/repository.git" />
</git>
</target>
</project>
এখানে:
Cloning repository https://github.com/username/repository.git
এটি Git রিপোজিটরি ক্লোন করবে এবং আপনার লোকাল মেশিনে কপি করবে।
Git pull কমান্ডটি ব্যবহার করে আপনি আপনার লোকাল রিপোজিটরি আপডেট করতে পারেন। এটি আপনার লোকাল রিপোজিটরির পরিবর্তনগুলিকে রিমোট রিপোজিটরির সাথে মিলে যায়।
<project name="GitPullExample" default="pullCode" basedir=".">
<target name="pullCode">
<git>
<pull remote="origin" branch="develop" />
</git>
</target>
</project>
এখানে:
origin
).develop
ব্রাঞ্চ থেকে কোড পুল করা হবে।Pulling code from origin repository, branch: develop
এটি origin রিমোট রিপোজিটরি থেকে develop ব্রাঞ্চের সর্বশেষ আপডেট নিয়ে আসবে।
Git checkout কমান্ডটি ব্যবহার করে আপনি একটি নির্দিষ্ট ব্রাঞ্চে সুইচ করতে পারেন। নিচে একটি উদাহরণ দেয়া হলো যেখানে git checkout ব্যবহার করা হচ্ছে।
<project name="GitCheckoutExample" default="checkoutBranch" basedir=".">
<target name="checkoutBranch">
<git>
<checkout branch="feature-branch" />
</git>
</target>
</project>
এখানে:
feature-branch
ব্রাঞ্চে সুইচ করা হবে।Checking out branch feature-branch
এটি feature-branch ব্রাঞ্চে সুইচ করবে।
আপনি Git status চেক করতে <git>
টাস্ক ব্যবহার করতে পারেন, যা রিপোজিটরির বর্তমান অবস্থা দেখাবে।
<project name="GitStatusExample" default="checkStatus" basedir=".">
<target name="checkStatus">
<git>
<status />
</git>
</target>
</project>
এখানে:
Checking git status...
এটি রিপোজিটরির স্ট্যাটাস দেখাবে।
যদি আপনার Git রিপোজিটরি প্রাইভেট হয়, তবে আপনি authentication ব্যবহার করে Git রিপোজিটরি থেকে কোড ফেচ বা পুল করতে পারেন। এটি সাধারণত username এবং password বা SSH key ব্যবহার করে করা হয়।
<project name="GitAuthenticationExample" default="fetchPrivateRepo" basedir=".">
<target name="fetchPrivateRepo">
<git>
<fetch remote="origin" branch="main">
<username value="your-username" />
<password value="your-password" />
</fetch>
</git>
</target>
</project>
এখানে:
Fetching code from origin repository, branch: main
এটি প্রাইভেট রিপোজিটরি থেকে কোড ফেচ করবে।
<git>
টাস্কটি Apache Ant-এ Git রিপোজিটরি থেকে কোড ফেচ, পুল, ক্লোন, চেকআউট, বা স্ট্যাটাস চেক করার জন্য ব্যবহৃত হয়। আপনি fetch, clone, pull, checkout, এবং status টাস্ক ব্যবহার করে Git কার্যক্রম পরিচালনা করতে পারেন। আপনি Ant বিল্ড স্ক্রিপ্টে Git কার্যক্রম স্বয়ংক্রিয়ভাবে চালাতে পারবেন, যেমন কোড ফেচ করা, রিপোজিটরি ক্লোন করা, বা অন্য ব্রাঞ্চে সুইচ করা। Git রিপোজিটরির সাথে ইন্টিগ্রেশন অটোমেটেড বিল্ড, ডিপ্লয়মেন্ট বা টেস্টিং প্রক্রিয়া উন্নত করতে সহায়ক।
Apache Ant একটি শক্তিশালী বিল্ড টুল যা Java ভিত্তিক প্রকল্পের জন্য ব্যবহৃত হয়। এটি SVN (Subversion), যা একটি ভার্সন কন্ট্রোল সিস্টেম, এর সঙ্গে ইন্টিগ্রেশন করার মাধ্যমে আপনার কোড রেপোজিটরি ম্যানেজমেন্ট এবং ডিপ্লয়মেন্ট প্রক্রিয়া অটোমেট করতে সক্ষম হয়। <svn>
টাস্ক ব্যবহার করে আপনি Subversion (SVN) রিপোজিটরির সাথে অ্যাপাচি অ্যান্টের মধ্যে সরাসরি যোগাযোগ স্থাপন করতে পারেন।
SVN Task এর মাধ্যমে আপনি SVN রিপোজিটরি থেকে ফাইল চেক আউট (checkout), আপডেট (update), বা কমিট (commit) করতে পারেন, যা সাধারণত ডিপ্লয়মেন্ট স্ক্রিপ্টে বা কোডের স্বয়ংক্রিয় আপডেটের জন্য ব্যবহৃত হয়।
<svn>
টাস্কটি অ্যাপাচি অ্যান্টে SVN রিপোজিটরির সঙ্গে কাজ করার জন্য ব্যবহৃত হয়। এটি আপনাকে SVN রিপোজিটরি থেকে ফাইল চেক আউট, আপডেট বা কমিট করার সুযোগ দেয়। অ্যাপাচি অ্যান্টের SVN টাস্কের মাধ্যমে আপনি সাধারণত SVN operations যেমন চেক আউট, আপডেট, কমিট, অথবা স্ট্যাটাস চেক করতে পারেন, যেগুলি সফটওয়্যার ডেভেলপমেন্টে স্বয়ংক্রিয়ভাবে ব্যবহার করা যায়।
<svn action="action_name" src="source" dest="destination" />
action
: এটি একটি অ্যাট্রিবিউট, যা আপনি কোন অ্যাকশন সম্পন্ন করতে চান তা নির্ধারণ করে। যেমন: checkout
, update
, commit
, status
ইত্যাদি।src
: সোর্স ফোল্ডার বা রিপোজিটরি পাথ।dest
: গন্তব্য ফোল্ডার বা লোকাল ডিরেক্টরি যেখানে সোর্স ফাইলগুলো কপি করা হবে (যদি এটি checkout
বা update
অ্যাকশন হয়)।<svn>
টাস্কের মাধ্যমে আপনি Subversion রিপোজিটরি থেকে কোড চেক আউট করতে পারেন। এর মাধ্যমে আপনি একটি নির্দিষ্ট ব্রাঞ্চ বা ট্যাগ থেকে ফাইল লোকাল ডিরেক্টরিতে চেক আউট করতে পারেন।
<project name="SVNCheckoutExample" default="checkout-svn">
<target name="checkout-svn">
<!-- Checkout a specific branch from SVN repository -->
<svn action="checkout" src="https://svn.example.com/repository/branch" dest="local/checkout"/>
</target>
</project>
এখানে:
action="checkout"
: চেক আউট অপারেশন করতে ব্যবহার করা হয়েছে।src
: সোর্স হিসেবে SVN রিপোজিটরির URL, যেখানে আপনার ব্রাঞ্চ বা ট্যাগ রয়েছে।dest
: লোকাল ডিরেক্টরি যেখানে ফাইলগুলি চেক আউট হবে।আপনি <svn>
টাস্ক ব্যবহার করে SVN রিপোজিটরি থেকে ফাইল আপডেটও করতে পারেন। এটি সাধারণত রিপোজিটরির সর্বশেষ আপডেট পেতে ব্যবহৃত হয়।
<project name="SVNUpdateExample" default="update-svn">
<target name="update-svn">
<!-- Update the local working directory from SVN repository -->
<svn action="update" src="https://svn.example.com/repository" dest="local/working-dir"/>
</target>
</project>
এখানে:
action="update"
: আপডেট অপারেশন পরিচালনা করবে।src
: রিপোজিটরির URL, যেখান থেকে আপডেট করা হবে।dest
: লোকাল ডিরেক্টরি যেখানে আপডেট ফাইলগুলো নেওয়া হবে।SVN Commit টাস্ক ব্যবহার করে আপনি লোকাল ডিরেক্টরি থেকে আপনার পরিবর্তন রিপোজিটরিতে কমিট করতে পারেন।
<project name="SVNCommitExample" default="commit-svn">
<target name="commit-svn">
<!-- Commit changes to the SVN repository -->
<svn action="commit" src="local/working-dir" dest="https://svn.example.com/repository">
<message>Committing changes to the repository</message>
</svn>
</target>
</project>
এখানে:
action="commit"
: রিপোজিটরিতে কমিট অপারেশন চালাবে।src
: লোকাল ডিরেক্টরি যেখান থেকে পরিবর্তন করা হবে।dest
: রিপোজিটরি URL যেখানে পরিবর্তন কমিট করা হবে।<message>
: কমিটের জন্য একটি বার্তা।SVN Status টাস্ক ব্যবহার করে আপনি রিপোজিটরির বর্তমান স্ট্যাটাস চেক করতে পারেন। এটি আপনার লোকাল রিপোজিটরি এবং সার্ভারের মধ্যে কোন পরিবর্তন ঘটেছে কি না তা দেখতে সাহায্য করে।
<project name="SVNStatusExample" default="status-svn">
<target name="status-svn">
<!-- Check the status of the SVN repository -->
<svn action="status" src="https://svn.example.com/repository"/>
</target>
</project>
এখানে:
action="status"
: স্ট্যাটাস চেক করতে ব্যবহৃত হয়।src
: রিপোজিটরি URL যেখান থেকে স্ট্যাটাস চেক করা হবে।SVN
TaskUse Authentication Properly:
<svn>
টাস্কে username
এবং password
অ্যাট্রিবিউট ব্যবহার করতে পারেন।<svn action="checkout" src="https://svn.example.com/repository" dest="local/checkout" username="user" password="password"/>
<fail>
টাস্ক ব্যবহার করে ত্রুটি ধরতে পারেন। এটি আপনাকে বিল্ড প্রক্রিয়া সফল বা ব্যর্থ হওয়ার সিদ্ধান্ত নিতে সাহায্য করবে।commit
Wisely:commit
টাস্কটি শুধুমাত্র তখনই ব্যবহার করুন যখন আপনি নিশ্চিত হন যে আপনার পরিবর্তনগুলো পরীক্ষিত এবং প্রস্তুত। নিয়মিত ছোট ছোট কমিট করা ভাল।ant
টাস্কের মধ্যে SVN অপারেশনগুলি সন্নিবেশ করতে পারেন।SVN Task অ্যাপাচি অ্যান্টের একটি শক্তিশালী বৈশিষ্ট্য, যা Subversion (SVN) রিপোজিটরির সঙ্গে ইন্টিগ্রেশন করতে সহায়তা করে। SVN Checkout, SVN Update, SVN Commit, এবং SVN Status টাস্কের মাধ্যমে আপনি রিপোজিটরি থেকে ফাইল চেক আউট, আপডেট এবং কমিট করতে পারেন, যা স্বয়ংক্রিয়ভাবে আপনার বিল্ড প্রক্রিয়াকে সহজ এবং কার্যকরী করে তোলে। Best Practices অনুসরণ করে, আপনি আপনার বিল্ড এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে আরও রিলায়েবল এবং সিস্টেমেটিকভাবে পরিচালনা করতে পারেন।
Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা বিভিন্ন ধরনের কাজ সম্পাদন করার জন্য ব্যবহৃত হয়, যেমন কোড কম্পাইল করা, ফাইল কপি করা, এবং সিস্টেম ডিপ্লয়মেন্ট। এর মধ্যে একটি গুরুত্বপূর্ণ টাস্ক হলো FTP Task, যা আপনাকে FTP (File Transfer Protocol) ব্যবহার করে ফাইল সার্ভারে ফাইল আপলোড বা ডাউনলোড করতে সাহায্য করে। এই টাস্কটি মূলত ডেভেলপারদের জন্য খুবই উপকারী যারা সার্ভারে ফাইল ট্রান্সফার করতে চান, বিশেষত যখন ডিপ্লয়মেন্ট প্রক্রিয়া অটোমেট করা প্রয়োজন।
<ftp>
টাস্কটি আপনাকে FTP সার্ভার থেকে ফাইল আপলোড বা ডাউনলোড করতে সহায়তা করে। এটি বিভিন্ন FTP অপারেশন (যেমন ফাইল কপি, ডিরেক্টরি ম্যানিপুলেশন) করতে সক্ষম।
put
(ফাইল আপলোড) বা get
(ফাইল ডাউনলোড)।true
হয়, তবে ফাইলটি বাইনারি মোডে ট্রান্সফার করা হবে।true
হয়, তবে FTP অপারেশন সম্পর্কিত বিস্তারিত তথ্য প্রদর্শন করবে।<project name="FTPUploadExample" default="upload-files">
<target name="upload-files">
<!-- FTP server credentials -->
<ftp server="ftp.example.com" userid="username" password="password" remotedir="/remote/path" verbose="true">
<!-- Uploading a file -->
<fileset dir="local/path" includes="*.txt"/>
</ftp>
</target>
</project>
ftp.example.com
।"/remote/path"
ডিরেক্টরিতে।.txt
ফাইল FTP সার্ভারে আপলোড করা হবে।<project name="FTPDownloadExample" default="download-files">
<target name="download-files">
<!-- FTP server credentials -->
<ftp server="ftp.example.com" userid="username" password="password" remotedir="/remote/path" localdir="local/path" verbose="true">
<!-- Downloading files -->
<get src="file1.txt" dest="local/path/file1.txt"/>
</ftp>
</target>
</project>
ftp.example.com
।/remote/path
।local/path
ডিরেক্টরিতে সেভ হবে।file1.txt
ফাইলটি FTP সার্ভার থেকে ডাউনলোড করে local/path
ডিরেক্টরিতে সেভ করবে।যদি আপনি নিশ্চিত না হন যে ফাইলটি টেক্সট ফাইল না বাইনারি ফাইল, তবে আপনি binary="true"
অ্যাট্রিবিউট ব্যবহার করতে পারেন যাতে ফাইলটি বাইনারি মোডে ট্রান্সফার হয়।
<project name="FTPBinaryUpload" default="upload-files">
<target name="upload-files">
<!-- FTP server credentials with binary mode enabled -->
<ftp server="ftp.example.com" userid="username" password="password" remotedir="/remote/path" binary="true">
<!-- Uploading a binary file -->
<fileset dir="local/path" includes="*.jpg"/>
</ftp>
</target>
</project>
.jpg
ফাইলটি বাইনারি মোডে FTP সার্ভারে আপলোড হবে, যাতে ফাইলের অক্ষুণ্ন কনটেন্ট সঠিকভাবে ট্রান্সফার হয়।আপনি action
অ্যাট্রিবিউট ব্যবহার করে যে ধরনের ফাইল ট্রান্সফার করতে চান তা নির্ধারণ করতে পারেন। এখানে, put
এবং get
এর মধ্যে নির্বাচন করতে হবে।
<project name="FTPUploadWithAction" default="upload-file">
<target name="upload-file">
<!-- FTP file upload with action attribute -->
<ftp server="ftp.example.com" userid="username" password="password" remotedir="/remote/path" action="put" binary="true">
<fileset dir="local/path" includes="file1.jpg"/>
</ftp>
</target>
</project>
file1.jpg
ফাইলটিকে FTP সার্ভারে আপলোড করবে।<project name="FTPDownloadWithAction" default="download-file">
<target name="download-file">
<!-- FTP file download with action attribute -->
<ftp server="ftp.example.com" userid="username" password="password" remotedir="/remote/path" localdir="local/path" action="get">
<fileset dir="local/path" includes="file2.txt"/>
</ftp>
</target>
</project>
file2.txt
ফাইলটি local/path
ডিরেক্টরিতে সেভ করবে।<ftp>
টাস্কটি অ্যাপাচি অ্যান্টে ফাইল সার্ভারে ফাইল আপলোড এবং ডাউনলোড করার জন্য ব্যবহৃত হয়। এটি একটি শক্তিশালী টাস্ক যা আপনার বিল্ড স্ক্রিপ্টের মধ্যে সহজেই FTP সার্ভারের সাথে ফাইল ট্রান্সফার করতে সহায়তা করে। আপনি put
এবং get
অ্যাকশন, binary
মোড এবং অন্যান্য অ্যাট্রিবিউট ব্যবহার করে ফাইল ট্রান্সফারের কাস্টমাইজেশন করতে পারেন। FTP Taskটি সাধারণত ডিপ্লয়মেন্ট বা অন্যান্য ফাইল ট্রান্সফার কাজগুলিতে ব্যবহার করা হয়, যা ফাইল ট্রান্সফারের প্রক্রিয়া অটোমেট এবং সহজ করে তোলে।
common.read_more